home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / ACU dox disk 6.adf / LionFonts < prev    next >
Text File  |  1989-02-01  |  43KB  |  680 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                          FontFacts: Secrets & Tips
  12.                  (C) Copyright September 1987 by Lion Kuntz
  13.                                       
  14.                           Lion's Amiga Art Studio
  15.                 POB 42252, San Francisco, California, 94142
  16.           (415) 863-1781  BBS,  (415) 431-1799 Tech Support Phone
  17.                                       
  18.                                       
  19.                                       
  20.  
  21.      Amiga fonts are the cornerstone of Desktop  Publishing, and the single
  22.  most vital ingredient  in  Desktop  Video  presentations,  but  seem to be
  23.  considered of little or no value by many.  Even programmers who set out to
  24.  create the world's most impressive  page  make-up program seem not able to
  25.  understand how to make using  fonts  in  their  program easy and painfree.
  26.  Programmers  who  sell  their   product   as  being  useful  for  Business
  27.  Presentations, Video Titles, and Flashy  Sexy Advertising designing forget
  28.  to let the user have an easy way to load and use fonts.
  29.  
  30.      Why has there been so much mystery  surrounding  fonts, and why has it
  31.  been the last feature of the Amiga to  have some standardized way of being
  32.  accessed?
  33.  
  34.       I served in  the  graphic  arts  field  as  a  real  typographer, art
  35.  director, and editor, for small local  magazines and newspapers, and I had
  36.  to select typestyles, hire type shops,  and proofread copy before print. I
  37.  would like to explain some of the differences between typography and Amiga
  38.  Fonts, and the differences between various Amiga programs which use fonts.
  39.  
  40.       Everyone knows about Guttenberg, the  first  mass production printer,
  41.  but how many people know that the whole alphabet had not been invented yet
  42.  in Guttenberg's time? The letters  "J",  "U",  and "W" were spoken but not
  43.  printed until several  more  centuries  later.  The  written language, and
  44.  written communications,  have  continuously  evolved  for the past 100,000
  45.  years, and the Amiga  is  a  continually  evolving  example  of the latest
  46.  efforts to provide communications between persons.
  47.  
  48.       The Amiga screen  is  a  painting  using  electron  beams  guided  by
  49.  electronics, constantly being  refreshed  or  changed 60 times per second.
  50.  There are three electron  beams:  Red,  Green,  and  Blue, and they travel
  51.  across the face of  the  screen  drawing  lines  of  dots of color glowing
  52.  behind them as they go.  Because  of  this  it  is  possible to change the
  53.  Typefaces and look of the printed  word  much faster than the eye can see.
  54.  The Amiga has animated  fonts,  color-cycling  fonts,  multi-color  fonts,
  55.  scrolling fonts, and more. The  user  only  sees  the dots of light on the
  56.  screen and never knows about the  differences  used  by the programmers to
  57.  produce those effects. It can be frustrating to find that fonts may not be
  58.  compatible with some  programs,  or  the  printout  may  look considerably
  59.  different than the screen image.
  60.  
  61.       First let me define "FONT". A "FONT" is a single instance of a set of
  62.  characters in a single size, with one  single picture of each character in
  63.  the set. A Font may have only one  character,  or it may have hundreds, or
  64.  any number  in-between.  On  the  Amiga  computer  there  are  a number of
  65.  different kinds of fonts. There are two  "ROM-fonts", Topaz 8 and Topaz 9.
  66.  These are always available in memory for all programs to use, and are part
  67.  of the KickStart operating system. A  second,  more common type of font is
  68.  "DISK-font", and  is  software  modules  stored  on  disk, and loaded into
  69.  programs on request.  A  sub-category  of  DISK-font  is COLOR-font, which
  70.  shares all the qualities of  a  standard  DISK-font,  but adds information
  71.  about additional colors  to  embellish  the  characters of the font. Other
  72.  forms of font is the "STROKE-font"  and  the  "POLYGON-font", which differ
  73.  from the above fonts in important ways.
  74.  
  75.       Most Amiga owners will be concerned with  using DISK-fonts. These are
  76.  the ones you will be using in your Deluxe  Paint II, PageSetter, Publisher
  77.  1000, City Desk, Shakespeare, Deluxe Print, Notepad, Deluxe Video, Images,
  78.  Express Paint, E/FX, WordPerfect, Fast Fonts, TV*Text, SetFont, VisaWrite,
  79.  ProWrite, Genlock Titler, and to some extent with CGI Pro Video, and Aegis
  80.  VideoTitler. New programs  are  coming  out  weekly, so there are more and
  81.  will be more programs to use DISK-fonts.
  82.  
  83.       DISK-fonts are sets of software data which come in three components.
  84.       1) Each font has a home directory  where  there  is an important file
  85.  called the "dot font"  file.  This  is  named  the  same  name as the font
  86.  itself, and has a five character suffix: ".font".
  87.       2) Each font has a subdirectory in the  home directory named the same
  88.  as the font itself.
  89.       3) Each individual font  has  a  datafile  which  is  inside the font
  90.  directory which is inside the home directory.
  91.  
  92.       The dot-font file serves two important purposes: it is a pointer, and
  93.  it is an index. As a pointer, the dot-font  file simply points to the font
  94.  directory of the same name as its'  prefix.  As an index the dot-font file
  95.  serves to keep an accurate list of what datafiles are actually in the font
  96.  directory, and some attributes of the fonts found there.
  97.  
  98.       The Amiga Operating System  makes  some  assumptions  about important
  99.  things at startup-time, when you put the WorkBench disk in the drive DF0:.
  100.  
  101.       Certain ASSIGNments are made at that  time,  being, SYS:, C:, S:, L:,
  102.  LIBS:, DEVS:, and FONTS:.  Unless  you  change  these  the Amiga Operating
  103.  System will default to  the  bootup-WorkBench  disk,  to a directory named
  104.  fonts, as the home directory of your supply of fonts. If there is no FONTS
  105.  directory on your WorkBench disk, it defaults to the ROM-fonts.
  106.  
  107.       You can change where the  system  searches  for  fonts  using the CLI
  108.  command ASSIGN. Please consult a good AmigaDOS manual on the three ways to
  109.  use the ASSIGN command. Inter/Active  Softworks  of San Francisco provides
  110.  an icon to click to  enter  a  new  font  home  directory  path  from  the
  111.  WorkBench screen,  and  this  FontAssign  program  is  provided with their
  112.  Calligrapher and other  products.  The  FontAssign  program has generously
  113.  been placed in the public domain by the publisher and may be found at your
  114.  local users group library or favorite BBS.
  115.  
  116.       You may safely store other files in  the  fonts home directory, since
  117.  the  operating  system  examines  each  file  for  the  ".font"  suffix to
  118.  determine which are fonts and which are not.
  119.  
  120.       Programmers may employ a direct  method  of locating fonts, bypassing
  121.  the operating system. The program may  be instructed to take a direct path
  122.  to some specific location and load font  files with some specific names or
  123.  extension suffix  on  the  filenames.  This  is  rare  now but was seen on
  124.  program disks at the time of the Amiga release, and is still used for some
  125.  games.
  126.  
  127.       Programmers may also decide to  use  some  or  all of the information
  128.  contained in  the  dot-font  pointer/index  files.  This  is the cause for
  129.  erratic operation between programs as to whether or not your fonts will be
  130.  successfully loaded or not.
  131.  
  132.       An example of a common problem is  when  people find space cramped on
  133.  their WorkBench disk they  may  delete  some  font datafiles of sizes they
  134.  never use. They do not rebuild  the  dot-font  file,  and  the index still
  135.  records the existence of  fonts  which  are  deleted.  In this case Deluxe
  136.  Paint II will find the  remaining  fonts  and  provide a list of available
  137.  sizes which actually do exist. This is because DPaint II ignores the index
  138.  part of the dot-font file, but uses only  the pointer to find the existing
  139.  sizes. Notepad and  Pagesetter,  on  the  other  hand,  examine  the index
  140.  portion of the dot-font file, and  examine  the font directory to see that
  141.  all fonts which are listed  actually  do  exist.  If Notepad or Pagesetter
  142.  find that there is discrepancy  they  assume  that  something is seriously
  143.  wrong with the dot-font  file  and  ignore  all  fonts  pointed to by that
  144.  dot-font file. In other words, as far as these two programs are concerned,
  145.  if you delete one size you might  as  well  delete  them all, because none
  146.  will be used until you rebuild the dot-font file.
  147.  
  148.       Rebuilding  a  dot-font  file  is  easy  with  another  utility  from
  149.  Inter/Active Softworks, called  FontFixer.  Again this is provided free on
  150.  Calligrapher  disk,  and  other  products  from  the  publisher,   and has
  151.  generously be placed in public domain.
  152.  
  153.       If your dot-font file is updated  correctly,  all  programs should be
  154.  able to find and load  all  sizes  of  existing  fonts  in  the fonts home
  155.  directory.
  156.  
  157.       If you are using a hard drive for storage of your fonts you will soon
  158.  discover that your list of  sizes  grows  too  immense  to be displayed by
  159.  pull-down menus. You should seriously consider waiting on buying a product
  160.  which uses pull-down menus for font lists,  until the publisher releases a
  161.  newer version which has  a  requestor  window  to  select fonts. DPaint II
  162.  gives an unpleasant surprise if the list  grows too long: if the bottom of
  163.  the pull-down menu touches the bottom of the screen your screen blanks. It
  164.  appears that imminent GURU failure  is  due. This is harmless, but it does
  165.  prevent you from using your fonts.
  166.  
  167.       Since there are now hundreds of fonts, completely filling many disks,
  168.  being able to handle lots of fonts,  and  swap  between disks of fonts, is
  169.  important to Amiga  owners.  Programmers  have  not addressed this problem
  170.  adequately so far.
  171.  
  172.       There is a temporary solution  I  use,  but  it has a danger you must
  173.  keep in mind. By using a  trick  on  the  Amiga  Operating  System you can
  174.  relabel disks you use for FONTS collections to name "FONTS". The operating
  175.  system gives a higher  priority  to  disks  than  to  directories. It also
  176.  ASSIGNs disks  automatically  while  they  are  mounted,  so  a disk named
  177.  "FONTS" becomes a disk named  "FONTS:".  (Note  the colon after the name.)
  178.  Unless you relabel the  disk you  will  not be able to reASSIGN fonts. But
  179.  as soon as the disk is inserted it  becomes  the  home directory for fonts
  180.  while the disk remains in the drive. Take the disk out and your previously
  181.  ASSIGNed fonts home directory is active  again. There is nothing to click,
  182.  and nothing to type using  this  method.  You  can insert and remove disks
  183.  with different collections of  fonts  to  use  in one single project using
  184.  this trick.
  185.  
  186.       The danger in this method is that all fonts collection disks have the
  187.  exact same name: "FONTS". If you  ever  forget and insert two disks of the
  188.  exact same name, you confuse the operating  system and it has to go to the
  189.  GURU to ask advice. Another important thing to remember is to put the disk
  190.  in the drive BEFORE the system sends  out  for the list of fonts available
  191.  in the fonts home directory. Notepad goes looking for fonts before it even
  192.  gets to the opening screen of the  program,  so  the fonts disk must be in
  193.  the drive already, or it will only  find  the  ROM fonts. DPaint loads the
  194.  list when you select  "Load  Fonts  Dir"  from  the  fonts pull-down menu.
  195.  PageSetter loads the fonts  list  when  you  select a document to edit, or
  196.  select a box to create.
  197.  
  198.       To make your special fonts disks  you  need  to keep in mind that the
  199.  DISK is acting as the fonts home  directory.  The  level of the disk where
  200.  all  directories  start  is   called   the  root,  and  it  branches,  and
  201.  sub-branches into what they call a tree structure. The dot-font files must
  202.  be in the root.  They  cannot  be  in  any  directory  at  all.  The fonts
  203.  themselves need to  have  their  directories  also  in  the  root, and the
  204.  individual  font  sizes  datafiles  must  be  inside  their  correct  font
  205.  directories as recorded  in  the  index  files.  This  is too much kluging
  206.  around for the long  term,  but  it  solves  a  problem  in  the immediate
  207.  present.
  208.  
  209.       To swap lists of fonts anytime is  not  possible  with most programs.
  210.  Pagesetter loads only the requested fonts  and retains them continually in
  211.  memory  until  free  memory  space  gets  cramped.  Even  after  you  exit
  212.  PageSetter after working with some  fonts,  re-enter the program and start
  213.  using a new set of fonts  from  another  disk  or  directory, the previous
  214.  fonts remain available for use. With Deluxe  Paint II you load one list of
  215.  fonts upon request and the only way  to  access another set of fonts is to
  216.  use an undocumented feature hidden in the "Screen Format" selector. If you
  217.  change bit-planes and/or  resolution  in  DPaint  II you flush all buffers
  218.  including your custom brush, undo,  spare  screen, and your LIST OF FONTS!
  219.  You can load a list of fonts from one disk, use some styles, and go select
  220.  your currently selected screen  format,  and be able to load in a new list
  221.  of fonts to keep adding to your painting.  Just clicking "OK" without even
  222.  changing anything about the size  or  colors  of  your screen is enough to
  223.  flush the buffers. (Be sure you've saved  any custom brush you want to use
  224.  again, or it will be lost by doing this.)
  225.  
  226.       By the way, fonts do not use much CHIP RAM, if you have available RAM
  227.  expansion memory. Only the  entry  for  the  font  attributes on a list is
  228.  consumed, so you can keep lots of fonts in memory without interfering with
  229.  other programs use of CHIP RAM.
  230.  
  231.       The Amiga Operating System version 1.2  and earlier have a feature to
  232.  allow fonts which have once been used by any program to continue to remain
  233.  in RAM without being deleted,  and  be  available  for  fast access by any
  234.  other program running without reloading from disk. If loaded fonts are not
  235.  actually being used by any  program  the  fonts  are deleted if there is a
  236.  need to use the RAM memory. So it doesn't really hurt to leave them behind
  237.  on program exit, and it may be a user-friendly thing to do. Unfortunately,
  238.  some people with memory monitors  complain  that programs do not "free-up"
  239.  all the memory they use upon  program  exit.  This is a bad reading of the
  240.  true availability of the  memory  upon  any  programs genuine need, and it
  241.  saves future font access time. Programmers should not necessarily cater to
  242.  the "clean exit" crowd, because evidently these people have more free time
  243.  in their lives to listen to their  floppy  disk  whir reloading data which
  244.  could have harmlessly remained in  memory.  The  advantages of making fast
  245.  exits of a program to do something  else,  and  re-running the program and
  246.  finding all your fonts and font library  still remaining outweigh the joys
  247.  of seeing bigger numbers on a memory monitor.  Pagesetter leaves the fonts
  248.  behind, most other programs clean them out before exit.
  249.  
  250.       The fonts themselves are a series of pictures,  usually letters of an
  251.  alphabet (the alphabet may be roman, greek, russian, hebrew, or scientific
  252.  symbols, etc.), punctuation, numerals,  and other symbols. Each font comes
  253.  in a single  size,  described  by  the  font  height  from  the top of the
  254.  character space to the bottom  of  the  character  space.  The font may be
  255.  fixed width, meaning every letter  gets  the  same number of units wide as
  256.  every other letter. The  units  of  width  and  height  are  the pixel, or
  257.  "Picture Element". The pixel  on  the  Amiga  may  be one of four possible
  258.  sizes:  Low-res,   Interlace,   Med-res,   or  High-res.  Some  fonts  are
  259.  specifically designed to look  correct  in a specific resolution mode, and
  260.  may have the attribute  of  TALLDOT  or  WIDEDOT  in  the dot-font file to
  261.  assist programs looking for  the  best  fonts  to  display in a particular
  262.  resolution mode.
  263.  
  264.       The "point" is the term  for  the  pixel  dots.  It  derives from the
  265.  centuries old typographer term  of  the  PICA  POINT,  or 1/72 of an inch.
  266.  Modern dot-matrix printers using 24 pins produce 72 dots per inch, or pica
  267.  points. The pixel  is  not  fixed,  however,  and  will  be  tall or wide,
  268.  depending on the  currently  selected  resolution  mode.  So points on the
  269.  screen will not correspond to points on paper printouts.
  270.  
  271.       First let's examine fonts on the  screen  so we can understand how to
  272.  get our best printouts. Then we can  look  at  the alternative ways to get
  273.  hardcopy with satisfactory results.
  274.  
  275.       Most Amiga DISK-fonts will be "proportional"  space fonts. This means
  276.  every character will  get  the  portion  of  space  necessary to produce a
  277.  correct looking character. The  lower  case  "i", the period ".", and some
  278.  others will get little width  of  space  because  the need little. Capital
  279.  letters, like "M", and "W", will get more space because they are naturally
  280.  wider. These  characters  need  to  be  designed  this  way  when they are
  281.  created. Some programs cannot  accept  proportional  width fonts, like CLI
  282.  and NEWCLI, ED, EMACS, SCRIBBLE!, TEXTCRAFT, and many more. There are ways
  283.  to force these programs to use proportional  fonts, but you can get pretty
  284.  bizarre results if you do it.
  285.  
  286.       Fixed width fonts are  useful  in  programs  which  count  columns of
  287.  characters, line up columns of figures (like a spreadsheet), and that sort
  288.  of thing. Many programs do not use  any  fonts, per se, although you might
  289.  ask "what the heck is that on my screen  then?". Programs interface to the
  290.  user through terminals: an  input  terminal,  an  output  terminal, and an
  291.  error terminal. These are "virtual"  terminals,  or  imaginary ideals, and
  292.  are treated like files by the operating system. The system sends output to
  293.  the screen as if it were storing  a  file  on  a screen-disk. It reads the
  294.  keyboard like it was loading a file  in  from a keyboard-disk. It can just
  295.  as easily read a file in from  RAM-disk  and  output it to the printer (or
  296.  printer-disk). The program doesn't deal  with fonts in this case, only the
  297.  screen-disk  translator  of  the  operating  system.  The  program  has no
  298.  recognition of the existence of  fonts,  although the programmer must take
  299.  them into account to some extent.  You  can  jam in a program to intercept
  300.  the output going to the screen and replace the pictures of characters with
  301.  your own font set of pictures of  each  character. SetFont does this, with
  302.  occasionally troubling results.  Output  to  the printer is intercepted by
  303.  the printer ROM and it  substitutes  its  own  pictures for each character
  304.  received.
  305.  
  306.       The pictures of each character  on  the  screen  are stored on ROM or
  307.  DISK as fonts, and the position of  the  current location of the cursor is
  308.  used as the starting point of  the  place  to  draw  in the picture of the
  309.  character. The screen is mapped,  with  the  top left corner of the screen
  310.  being the usual starting point, and rows  are the lines of dots across the
  311.  width of the screen,  while  columns  are  the  lines  of dots from top to
  312.  bottom of the screen.  Counting  rows  and  columns  gives the location to
  313.  begin drawing the character. This  is  called  "BIT MAPPED GRAPHICS". Each
  314.  bit, or pixel dot is mapped to one  unique  location on the overall screen
  315.  or window.
  316.  
  317.       ROM-fonts and DISK-fonts are  bitmaps.  There  is a picture somewhere
  318.  used as the master that is copied to the position each time. Normally font
  319.  bitmaps are not compressed, or compacted, in any way, and may use a lot of
  320.  memory to store the collections of  pictures  which  make up a large font.
  321.  The theoretical limit on the maximum  size  of a font is 16 megabytes, but
  322.  more practically 5,000,000 bytes is the  limit with existing font creation
  323.  tools. This ultimate size would  require  a  hard drive to store the font,
  324.  and of course RAM expansion to load it in. I make fonts larger than can be
  325.  used on a 512K Amiga, and problems can  result with programs which are not
  326.  written to allow space to load and use several large fonts.
  327.  
  328.       The Amiga uses the monitor as a  viewing  window into RAM memory, and
  329.  the bitmapped graphic screen can  be  much  larger  than the video viewing
  330.  area. Page make-up programs,  and  some  paint  programs do this. You will
  331.  only see the the part of the whole  bitmap  which appears on your monitor,
  332.  although you can scroll around to see the hidden parts.
  333.  
  334.       Your resolution mode will determine how  many rows and columns of the
  335.  bitmap will be visible at any instant.  In high resolution you can see 640
  336.  columns of pixels in the  normal  viewing  window.  In interlaced mode you
  337.  will see 400 rows of pixels. It uses  more  hardware resources to view 640
  338.  columns of  pixels, so that restricts  your number of colors to a limit of
  339.  16. In low resolution you can get 32, or upto 4096 colors.
  340.  
  341.       Desktop publishing (or page  make-up)  software  usually uses the 640
  342.  pixel wide mode to fit more information  into the width of the screen, and
  343.  usually uses non-interlace to  avoid  the  bothersome  screen jitter. Most
  344.  programs also use a limit on  the  colors  to  4 or 2, to make more memory
  345.  available to the  page  displays.  This  is  usually  chosen because color
  346.  printers are not as  available  to  the  users,  and  mass reproduction is
  347.  usually done by black and white lithography or xerography.
  348.  
  349.       A 24 pin dot matrix printer produces 960 dots per 8 inch wide line of
  350.  printout. If your page is  not  exactly  960  dots  wide on your bitmapped
  351.  graphic screen, then there  will  not  be  a  one-to-one correspondence of
  352.  printed dots to screen dots. "Scaling"  will have to be performed. If your
  353.  bitmap is 320 dots wide then  exactly  3  dots wide will be printed out to
  354.  represent each one dot on your  dot-matrix  printer. If your bitmap is 640
  355.  dots wide then you will need to print  out 1.5 dots on paper for every dot
  356.  on the graphic bitmap. Printers cannot print half a dot, however. Printers
  357.  can only print or not print a dot,  so  the  program either prints out the
  358.  image  640  dots  wide  as  a   2/3rds   wide   image  with  a  one-to-one
  359.  correspondence, or it prints every  other  dot  twice and the intermediate
  360.  dots once. This fattens some columns  of  the print out and not others. It
  361.  can be  minimal  in  effect  or  ruinous,  depending  on  your  degree  of
  362.  perfectionism.
  363.  
  364.       Scaling is even more difficult to  predict  if  your bitmap is an odd
  365.  size in width, say 723 pixels  wide.  You  will  not get WYSIWYG, and will
  366.  have to test print it to determine  if  your result will be acceptable for
  367.  your needs.
  368.  
  369.       Page make-up programs take this into  account,  and usually provide a
  370.  page width that corresponds to 24 pin printer lines.
  371.  
  372.       None of the bitmap can be  successfully  printed  unless your printer
  373.  supports a graphics mode to accept  screen  dumps.  Which brings us to the
  374.  subject of printer drivers and  preferences.  The system dumps graphics to
  375.  the selected printer port, either parallel  or serial, as if it was saving
  376.  to  a  disk.  The  printer  driver   reads  your  preferences  and  prints
  377.  accordingly. So preferences must be adjusted to match your desired output.
  378.  
  379.       Deluxe Paint II loads up  your  preferences  file,  but allows you to
  380.  over-ride this at print time through a requestor window. You may decide to
  381.  print in grayscale even  if  your  preferences  are  set  to color or B&W.
  382.  Pagesetter on the other hand refuses  to  print if preferences are not set
  383.  to B&W, even though my printer produces better blacks if I print out using
  384.  the color preference!
  385.  
  386.       The third screen back in the  preferences  program determines if your
  387.  bitmap printout will  be  printed  sideways  or  normal  horizontal. Again
  388.  scaling is performed to translate the  number of dots in the bitmap to the
  389.  number of dots in the printout for  sideways  printing,  usually expanding
  390.  the dots considerably.  The  threshold  value  determines if light colored
  391.  dots will be ignored, and skipped,  printing  as  "white", or whether they
  392.  will be printed dark, even  as  full  black.  You  really  need to do some
  393.  experimentation here to find you favorite, but PageSetter requires that it
  394.  be set at 2 or 3 for the default page settings.
  395.  
  396.       The width and height of the bitmap  printout  will be affected by the
  397.  settings for your margins with some  printers,  and  not at all for others
  398.  which ignore margin settings. The number  of lines per inch, and number of
  399.  characters per inch settings will  affect  the scaling done by the printer
  400.  drive, in addition to  any  scaling  done  by  the  program  producing the
  401.  bitmap. It is best to set  for  6  lines  per  inch  (lpi) and 10-pica for
  402.  pitch. Let the program alone  do the scaling, unless you need reduced size
  403.  miniature printouts, then let  preferences  do  additional scaling through
  404.  the  printer-driver.  Experimentation  with  a  variety  of programs and a
  405.  variety of bitmaps is the  best  thing  you  can do to get predictable and
  406.  consistent outputs.
  407.  
  408.       Fixed width fonts are  pretty  simple  things.  Each  character has a
  409.  rectangle of space  for  the  font  artist  to  draw  the  picture  of the
  410.  character. Any space between characters must be left in by the artist. The
  411.  program which displays the pictures may use destructive techniques to copy
  412.  each character into position.  This  means  that  the invisible background
  413.  color may erase anything already  drawn  in the position the new character
  414.  copy occupies as a rectangle. They may  also be non-distructive, in that a
  415.  character may overlap some  previously  drawn picture or character without
  416.  erasing the portion of  the  new  character  drawn  with  the  transparent
  417.  background color.
  418.  
  419.       Programs which do not use fonts normally produce distructive lines of
  420.  text obliterating the area  underneath  their image in rectangular blocks.
  421.  Programs designed to use  fonts  normally  let  you overlay text on top of
  422.  previous images.  Proportional  width  fonts  include  factors which allow
  423.  non-distructive overlap of characters on each other, for special purposes.
  424.  There are settings which are  adjustable  for  each and every character of
  425.  the font which determines how closely  it will fit to the character before
  426.  it and how closely the one to follow will be placed.
  427.  
  428.       Kern is the typographers term for  precise  fitting of a character to
  429.  the one to the left of it.  There  are  character  pairs which look odd or
  430.  incorrect if they use the same  distance  between  them as they do between
  431.  other characters.
  432.  
  433.       I  must  digress  a  moment  before   continuing  on  Amiga  specific
  434.  typography to  cover  general  computerized  typography.  For  more than a
  435.  decade there have been microprocessor controlled typography work stations.
  436.  The microprocessors employed have been 8-bit devices, with only 16, 48, or
  437.  64 kilobytes of memory to run them.  In  other words, these very expensive
  438.  machines have had the equivalent of an  Apple II, a Radio Shack TRS-80, or
  439.  a Commodore-64 as the "brains" of  these  work stations. The major part of
  440.  the expensiveness has been  the  back-end,  or  the  type fonts on wheels,
  441.  drums, and film strips, and the  positioning  and exposure mechanisms. The
  442.  computer part  is  relatively  simple  and  cheap.  These  devices produce
  443.  "leading",  "reverse-leading",  "kerning",   "discretionary  hyphenation",
  444.  "auto-hyphenation",   "letter-spacing",   "justification",  "flush  left",
  445.  "flush  right",  and  other   features.   Twelve  years  ago  CompuGraphic
  446.  Corporation wanted to sell me the ExecuWriter  desktop typesetting machine
  447.  for a retail price of $2000, which  could  produce  output far superior to
  448.  any laser printer now selling  at  any  price.  So if I seem to be annoyed
  449.  that Amiga programmers are not  always  providing all the features which I
  450.  expect, and which  the  Amiga  operating  system  provides  handy tools to
  451.  easily implement, perhaps  you'll  forgive  my  impatience. These problems
  452.  were solved in software long ago!
  453.  
  454.       Kerning usually involves a look-up table of about 300 pairs of letter
  455.  combinations.  Each  time  the  computer  program  detects  one  of  these
  456.  combinations it replaces  the  picture  of  two separate characters with a
  457.  single picture of  two  characters  combined.  Amiga  kerning  involves  a
  458.  positive or  negative  number  of  points  where  the  left  edge  will be
  459.  positioned relative to the  cursor  current  position.  This does not take
  460.  into account any previous character, or even if there is one there at all.
  461.  If a letter with a kern number of 3 is at the left margin it will be drawn
  462.  3 pixels off the left side of the screen  and only the part showing on the
  463.  screen will be drawn visibly. This is not very useful for most characters,
  464.  and really is only  useful  for  special  foreign  language  symbols,  and
  465.  scientific or mathematical symbols which  must be composed of parts joined
  466.  together. The kern amount is individually adjustable for each character in
  467.  a font, and only applies to proportional width fonts.
  468.  
  469.       The kern affects the left edge of the  character. The character width
  470.  affects the amount of space  from  the  left  edge  to the right edge, and
  471.  determines how much space exists to contain  the picture of the character.
  472.  Again this is only used in proportional fonts, and is individually set for
  473.  each character. On the  right  side  of  the  character  there is a factor
  474.  called "space". This is not in any way  related to the blank character you
  475.  get if you press the  keyboard  spacebar.  The  space  character is a font
  476.  character just like every other character,  and just has all pixels in the
  477.  picture drawn in the background  color.  It has a definite width just like
  478.  all other characters, and it has  "space"  just  like all other characters
  479.  which may ne included in a  font.  What  character  "space" is is a factor
  480.  setting for each character which determines where the cursor position will
  481.  be placed at the end of drawing the character. Space will affect where the
  482.  next character's left edge  starts,  and  will  be  factored in with other
  483.  items such as kern.
  484.  
  485.       So kern, width, and space all  combine  to  determine how a character
  486.  will fit inside a word relative to the characters on each side of it, each
  487.  with their own possibly unique kern, width, and space.
  488.  
  489.       In Guttenberg's time of setting type  using  physical characters cast
  490.  in metal to be re-usable, there was  no  such  thing as "reverse-leading".
  491.  Two physical objects could not occupy the same space, so each line (or row
  492.  as we call it) had to be a  minimum  distance  from  the previous and next
  493.  line. You could  increase  the  space  between  lines  by  adding physical
  494.  objects to add separation, and what they  did was use metal which could be
  495.  hammered very thin: the metal lead. These  additional points of separation
  496.  between lines of text became known as points of leading, and were measured
  497.  in pica points (72 per  inch).  With  photo-typesetting  and  computerized
  498.  video fonts came  the  possibility  of  some  overlap  between  the bottom
  499.  decenders of characters  (like  gjpqy;,)  with  the  top of the next line,
  500.  since it was no  longer  physical  objects.  Reverse-leading  and  leading
  501.  permitted columns of lines of type  to  be squashed or stretched to better
  502.  fill an exact allotment of vertical column  space. This is often necessary
  503.  when the amount of  words  does  not  fit  in  the  limit  of the physical
  504.  printout space for it. With the  Amiga,  points  of leading are pixels and
  505.  cannot be sub-divided  into  half  points  like  you  can  for typography,
  506.  although points are resolution dependent  and will vary if interlace is on
  507.  or not.
  508.  
  509.       Amiga fonts get a uniform number of rows, or height in pixels for the
  510.  letters to exist within.  All  letters  of  a  font have the same vertical
  511.  height, but the characters do not need  to be all the same size within the
  512.  font. Fonts are stored in their  directory,  and  named by height size, so
  513.  the newest creation always destroys the datafile of the previous font with
  514.  the same name as a point size. It is possible  to store more than one font
  515.  in the same size  if  the  fontname  has  an  extension  prefix,  but many
  516.  programs only expect one font per  size,  and  may list all the font sizes
  517.  with their prefixes, but only load the first occurrence they find with the
  518.  size prefix requested. In  other  words,  other  choices  may be there but
  519.  totally inaccessible with your program.
  520.  
  521.       Unless the program provides user over-ride of the height factor, each
  522.  line of text begins  precisely  at  the  next  pixel  down  from where the
  523.  previous one left off.  If  there  was  user  control  it  might be called
  524.  "leading" (pronounced LEDing), or "line spacing" or such.
  525.  
  526.       Programs which allow  mixing  different  fonts  on a line of text are
  527.  rare, and there may be  three  ways  they  determine  how  to position the
  528.  character: by the top-left corner of  the  font, by the bottom-left corner
  529.  of the font, or by the left side and  the  baseline. This opens up an area
  530.  of confusion for programmers because  there  is no standard from Commodore
  531.  or the industry, so there is now way  for  font artists to design fonts to
  532.  be usable the same across all programs  which mix fonts. The baseline is a
  533.  global factor of a font,  like  the  height,  which  is  the  same for all
  534.  characters in a font.
  535.  
  536.       The font need not be drawn on a  baseline,  for example, a font which
  537.  provides  superscript  and   subscript  character  options  may  have  the
  538.  characters drawn above and below  the  baseline.  But the baseline will be
  539.  the same distance in rows from the top  for every character. Underlining a
  540.  font with subscripts  may  have  the  underline  pass  right  through  the
  541.  subscript characters instead of under  them. Software underlining uses the
  542.  baseline to determine where the  underline  should  be placed. It is a one
  543.  point tall line  the width of the character two pixels below the baseline.
  544.  fonts created with the baseline  at  the  bottom  of  the font height will
  545.  crash the system when software  underlining  is  selected. It will corrupt
  546.  memory below the area the character pictures occupy.
  547.  
  548.       The baseline is used as  the  point  where  all  the  capital letters
  549.  ascend from. Other typographers terms you may encounter are the "x-height"
  550.  of the letters  is  the  uniform  height  of  lower  case  letters without
  551.  ascenders. "Ascenders" are  those  parts  of  lower  case letters which go
  552.  above the x-height (like bdfhijklt). Decenders  were previously described.
  553.  Incidentally, printers using  pieces  of  reusable  characters cast out of
  554.  metal kept them in  large  cabinets  of  shelves  of  slide-out trays. The
  555.  letters we call "capital" letters were  kept in the top tray, or case, and
  556.  the one below it held the smaller  letters  or lower-case. Here's where we
  557.  get the still used terms for the  big  and  small letters of the alphabet:
  558.  UPPER CASE and lower case.
  559.  
  560.       A recently invented form of Amiga DISK-fonts are COLORFONTS. This was
  561.  invented by Inter/Active  Softworks  of  San  Francisco, California. Their
  562.  Calligrapher program is  a  font  editor  which  allows  you to create and
  563.  modify standard Amiga  DISK-fonts,  and  to  control every aspect of every
  564.  character in your fonts.
  565.  
  566.       With the introduction of the CALLIGRAPHER  they introduced a new type
  567.  of Amiga DISK-font which allows 16 colors  per font. These colorfonts have
  568.  been designated a new IFF type  by  CBM,  and  the  code to activate these
  569.  colorfonts in all  programs  using  DISK-fonts  will  be  included  in the
  570.  proposed 1.3 version of the Amiga  Operating  System. In the meanwhile new
  571.  Amiga programs are including  the  code  to  activate  colorfonts, and the
  572.  first such program to arrive on the market  was PRISM, a HAM paint program
  573.  from Impulse. Calligrapher and other products  from Inter/Active Softworks
  574.  include a temporary  patch  program  called  "COLORTEXT"  to  allow use of
  575.  colorfonts in all programs  which  allow  both  color and disk-fonts to be
  576.  used. The Calligrapher is a low cost  font  editor selling very well and I
  577.  expect a lot of public  domain  color  fonts,  as  well as many commercial
  578.  color fonts produced  by  fine  artists  to  be  available  for your Amiga
  579.  pleasure.
  580.  
  581.       Page make-up programs which restrict the  user to B&W will not permit
  582.  use of  colorfonts,  and  attempts  to  use  them  will  be  ugly failure.
  583.  Professional Page by Gold Disk  (PageSetter),  and Shakespeare by Infinity
  584.  Software (Grand Slam Tennis,  Gallileo)  are two products being readied to
  585.  do color page make-up which will allow use of colorfonts.
  586.  
  587.       The COLORTEXT patch  will  not  be  needed  by  these  new  programs.
  588.  COLORTEXT is copyrighted, and may  not  be  redistributed.  At the present
  589.  time it is limited to being obtained from Inter/Active Softworks products,
  590.  and I have a  license  to  include  it  on  my  "Lion's  Amiga Art Studio"
  591.  products. There is a public  domain  version  of  colortext  which shows a
  592.  preview of what you would see, excepting it eliminates the vowels AEIOU in
  593.  the display, and this  demo  version  is  freely  available  through users
  594.  groups and BBSs.
  595.  
  596.       Other Amiga fonts to mention, for completeness  sake, are PFonts from
  597.  Sparta, and Stroke font from Aegis. The  PFont is a polygon font structure
  598.  describing a logo-like, or  turtle-graphic  type of font which is scalable
  599.  on the screen, and may be  stretched  or  squashed  at will. It is used in
  600.  Aegis VideoTitler  product.  A  similar  concept  of  font  is included as
  601.  objects on the Aegis Videoscape-3D disk  as separate characters in 3D. The
  602.  stroke font is used in  Aegis  Draw  CAD  program  and  is  one pixel wide
  603.  strokes making the letters which is scalable  depending on your zoom view.
  604.  Ultimately these are all dumped to  printer  as  bitmap representations of
  605.  the screen bitmap, and suffer all the  scaling problems in hardcopy as the
  606.  others. Draw however supports pen  plotters  which can correctly reproduce
  607.  the stroke font.
  608.  
  609.       TEX is  a  device  independent  font  system,  which  adapts  to  the
  610.  particular limitations of the  Amiga  display,  and  is also output device
  611.  independent to the extent that it can be output to a number of devices and
  612.  give  approximately  similar   output   on  plotter,  printer,  laser,  or
  613.  phototypesetter. If output to dot-matrix it again suffers every limitation
  614.  of every other type of font in the scaling of pixels to printer dots.
  615.  
  616.       Postscript is a  page  description  language.  It  is  widely used in
  617.  desktop make-up programs  on  other  computers,  and  there  is  LaserPage
  618.  (PageSetter), and City Desk for the Amiga which produce output files which
  619.  can  be  directly  sent   by   cable   or   modem  to  laser  printers  or
  620.  photo-typesetting  machines   which   support   the  PostScript  language.
  621.  PostScript is  another  language  that  is  turtle-graphics  like  in its'
  622.  construction of each character of the alphabet, and is device independent.
  623.  There is much debate as to  whether  PostScript  is  the best of many Page
  624.  Description Languages, but it was adopted  early on by Apple for the Apple
  625.  LaserWriter printer, and is very  popular  now. With PostScript you cannot
  626.  truly  preview  what  you   will  see  on  the  output,  but  you  get  an
  627.  approximation on the screen bitmap.  Special  bitmap  Amiga disk-fonts are
  628.  used to fill in the lines of type  with  something  which looks similar to
  629.  the output type  fonts  the  PostScript  device  will  produce.  There are
  630.  serious errors in how much width lines  of type will need, and in how much
  631.  vertical column space will be  filled  by  the final text printout. Here's
  632.  another example of a place where  much  experimentation  will finally make
  633.  you an expert.
  634.  
  635.       Laser  printers  use  a  laser   diode   device  to  demagnetize  the
  636.  non-printing areas of a xerography drum. The printing is done like regular
  637.  xerography, and the image detail is  limited  to  about 300 dots per inch.
  638.  That is 300 dots per inch wide times  300  dots per inch tall, for a total
  639.  of 90,000 dots to print a 1 inch  black  square.  This is about four times
  640.  more  detail  resolution  than  dot  matrix,  but  only  about  1/4th  the
  641.  resolution of the cheaper photo  typesetting  machines. For people who are
  642.  used to office  typewriters  and  office  xerography  machines  this  is a
  643.  wonderful improvement. For typographers this is proof copy, unsuitable for
  644.  ever showing the the public proudly.
  645.  
  646.       Amiga owners with dot printers  with  square  dots,  which print in a
  647.  good dense black image can get laser  quality  images by printing out four
  648.  times larger than their final image  size  and  reducing the image at your
  649.  local copy shop. As you reduce  the  image  the  jaggie stairstep dots are
  650.  similarly reduced. A 25% reduction  will  give  you a final image of 1/4th
  651.  size. Your 72 dots per  inch  will  now  be  288  dots per inch. The final
  652.  output from a cheap xerography reduction will be the same as for the laser
  653.  printer since they both use xerography  to get the black on the paper. Low
  654.  cost xerography  copiers  usually  have  a  setting  at  64% minimum and a
  655.  reduction of a reduction will end up 42%  size. This should be plenty good
  656.  enough to impress anyone who  finds  a  laser  printout  impressive. Laser
  657.  printers are fast, quiet, and cheap  per  page spread out over the life of
  658.  the unit. Most Amigas  can  only  justify  a  dot  printer  on the desktop
  659.  however, and this is a good cheap  alternative  to  the high cost of laser
  660.  printing.
  661.  
  662.       One other point should be mentioned: the stock laser fonts were never
  663.  designed to be used in  tiny  text  sizes.  They  were  designed by master
  664.  typographers each for  specific  purposes  and  hired  to do this by major
  665.  institutions. Nobody ever hired or paid   anyone to design any fonts which
  666.  would be readable and easily comprhensible  by readers especially to match
  667.  the limitations of the  laser  printer.  There  is a lot of disrespect for
  668.  professional type designers, and it is  not understood what is involved in
  669.  the process. The typefont used  in  printing  your  Bell Yellow Pages took
  670.  four years, and was not  designed  for  any  other  purpose or use. It was
  671.  designed to match the size needed by the  customer and survive the hazards
  672.  of printing ink on thin sheets of paper  with showthru from the other side
  673.  of  the  page.  Certain   aspects   of  the  characters  are  deliberately
  674.  exaggerated to make the  words  easier  to  read in cramped lines of type.
  675.  Another case is Herman Zapf who is a famed designer of some of the world's
  676.  most used typefaces took seven  years  to  complete the design of "Melior"
  677.  font. Here is a man who has created many fonts over a long lifetime career
  678.  of being a typographer, yet wasn't satisfied  with all aspects of it until
  679.  longer than the lifetime of the the Apple laserWriter.
  680.